<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
            "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
	<title>Descriptions - Screenbar Documentation</title>
	<link rel="stylesheet" type="text/css" media="screen" href="style.css">
</head>
<body>

<H1>Descriptions</H1>

<H2>Overview</H2>
<a name="overview"/>

<P>Certain bang commands refer to desktops, windows, and monitors, which are
described by identifying some property, and in case nothing matches that
property, a second choice, third choice, and so on. Choices are separated
by slashes, so for example,</P>

<pre>!sbDesk next/first</pre>

<P>will switch to the next desk and wrap around to the first desk at the end,
but</P>

<pre>!sbDesk next/newnext</pre>

<P>will switch to the next desk, but make a new desk rather than wrap
around.</P>

<H2>Desktops</H2>
<a name="desktops"/>

<P>Wherever a bang command or variable refers to a desktop, you may choose a
desktop using one of the following descriptions. Note that there may not be
such a desktop; for example, if the last desktop is selected, then "next"
doesn't refer to anything. If no parameter is given or if none of the
described desks exists, defaults to clicked/next/prev/current. The available
descriptions are:</P>

<ul id="namelist">
<li id="namelistitem">
	<div id="itemname">[n]</div>
	<div id="itemdesc">
		The nth desktop. Starts at 1 (there is no 0th desktop). May be any
		positive integer less than or equal to the number of desktops. If
		negative, desk -1 is the last desk, and -n is the Nth to last desk.
	</div>
</li>

<li id="namelistitem">
	<div id="itemname">prev(m), next(m)</div>
	<div id="itemdesc">
		Where m is a monitor, or if no monitor is given, the monitor which the
		mouse cursor is on. The desktops before and after the desk which is
		visible on the indicated monitor.
	</div>
</li>

<li id="namelistitem">
	<div id="itemname">first, last</div>
	<div id="itemdesc">
		The first and last desktops.
	</div>
</li>

<li id="namelistitem">
	<div id="itemname">current</div>
	<div id="itemdesc">
		The desktop you are looking at now
	</div>
</li>

<li id="namelistitem">
	<div id="itemname">other</div>
	<div id="itemdesc">
		The last desktop you looked at, besides the focused one
	</div>
</li>

<li id="namelistitem">
	<div id="itemname">up, left, right, down</div>
	<div id="itemdesc">
		Synonyms for nextwrap and prevwrap provided for compatibility (up/left is
		prevwrap, down/right is nextwrap.)
	</div>
</li>

<li id="namelistitem">
	<div id="itemname">newprev(m), newnext(m), newfirst, newlast</div>
	<div id="itemdesc">
		New desktops created in the corresponding positions. Note that empty
		desktops will be automatically deleted, so you must either put something
		on it (eg with !sbMoveApp) or set the sbKeepEmptyDesktops option.
	</div>
</li>

<li id="namelistitem">
	<div id="itemname">hovered</div>
	<div id="itemdesc">
		The desk defined in the context of the element the mouse is currently
		over, if any. Undefined if the mouse is not over a panel, or if it's
		over a part of a panel which does not correspond to a desk.
	</div>
</li>

<li id="namelistitem">
	<div id="itemname">clicked</div>
	<div id="itemdesc">
		If used in a mouse press, release, or click event handler, the desk
		which was clicked on.
	</div>
</li>

<li id="namelistitem">
	<div id="itemname">dragged, dropped</div>
	<div id="itemdesc">
		Only meaningful inside a drag 'n drop handler when the dragged (or
		dropped-on) elements have a desk defined in their context.
	</div>
</li>
</ul>

<H2>Windows</H2>
<a name="windows"/>

<P>Whenever a bang command or variable refers to a window, you may choose a
window using one of the following descriptions. (These descriptions are mainly
to support mouse event handling and drag and drop).</P>

<P>If a task owns more than one window, then layout elements involving it will
use the root window. Most bang commands (like !sbMoveApp) will affect the
entire task, including all its child windows.</P>

<ul id="namelist">
<li id="namelistitem">
	<div id="itemname">all(m)</div>
	<div id="itemdesc">
		All windows on monitor m. If m is not specified, it is 'all' by default.
	</div>
</li>

<li id="namelistitem">
	<div id="itemname">tasks(m)</div>
	<div id="itemdesc">
		All task windows on monitor m. If m is not specified, it is 'all' by
		default. Task windows are windows which would normally appear on the
		taskbar, as opposed to child windows, tool windows, etc.
	</div>
</li>

<li id="namelistitem">
	<div id="itemname">focused, foreground</div>
	<div id="itemdesc">
		The current desk's topmost window. Note that this window doesn't have to
		actually have the focus; if a Litestep window has the focus, then the
		topmost window will still be used.
	</div>
</li>

<li id="namelistitem">
	<div id="itemname">topmost(m)</div>
	<div id="itemdesc">
		The topmost window on the given monitor.
	</div>
</li>

<li id="namelistitem">
	<div id="itemname">hovered</div>
	<div id="itemdesc">
		The task defined in the context of the hovered element, if any.
	</div>
</li>

<li id="namelistitem">
	<div id="itemname">clicked</div>
	<div id="itemdesc">
		If in the context of a mouse click handler, the task which was clicked
		on.
	</div>
</li>

<li id="namelistitem">
	<div id="itemname">dragged dropped</div>
	<div id="itemdesc">
		If in the context of a drag event handler, the task which is being
		dragged or being dragged onto.
	</div>
</li>
</ul>

<H2>Monitors</H2>
<a name="monitors"/>

<P>Whenever a bang command or variable refers to a monitor, you may choose a
monitor using one of the following descriptions. When a monitor is expected
but none is specified, 'cursor' is used as the default.</P>

<ul id="namelist">
<li id="namelistitem">
	<div id="itemname">1,2,3,...</div>
	<div id="itemdesc">
		The Nth monitor
	</div>
</li>

<li id="namelistitem">
	<div id="itemname">clicked</div>
	<div id="itemdesc">
		The monitor that shows the panel that was clicked on
	</div>
</li>

<li id="namelistitem">
	<div id="itemname">cursor</div>
	<div id="itemdesc">
		The monitor which the mouse cursor is currently on
	</div>
</li>

<li id="namelistitem">
	<div id="itemname">primary</div>
	<div id="itemdesc">
		The primary monitor
	</div>
</li>

<li id="namelistitem">
	<div id="itemname">secondary</div>
	<div id="itemdesc">
		The second monitor
	</div>
</li>
</ul>

<div id="navigation">
	<a href="animations.html">Previous Page</a>
	<a href="index.html">Index</a>
	<a href="about.html">Next Page</a>
</div>

</body>
</html>
